Soru & Cevap

Siteden Veri Çekip 2. Activity Sayfasına Gönderme

27.11.2015 - 06:16

Web sitemdeki .txt uzantılı dosyada bulunan resim url sini 1. Activity sayfasına çekip 2. Activity sayfasında 


private static String ResimURL = resimadresi;

"resimadresi" kısmına 1. Activity de bulunan url yi çekmek istiyorum.

Yardımcı olursanız sevinirim.

1 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-11052-1576825910.jpg
alikarakoc
27.11.2015 - 11:31

Merhaba Ferhat,

Öncelikle yapman gereken şeyleri adım adım yazıyorum.

1. Volley sınıfını mutlaka incele.

Görsel kaldırıldı.

Yukarıda ki gibi projenden build.gradle içerisine giriyorsun sonra;

Görsel kaldırıldı.

Yukarıda ki şekilde aşağıdaki kodu ekliyorsun;

    compile 'com.mcxiaoke.volley:library:1.0.19'

Bu kodu ekledikten sonra;

Görsel kaldırıldı.

Kırmızı daire içine aldığım butona basıyorsun işlem tamamlandıktan sonra.

Activity dosyanda;

    public String ResimURL = "";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.home_activity);
        
        RequestQueue queue = Volley.newRequestQueue(getApplicationContext());
        JsonObjectRequest request = new JsonObjectRequest(
                "json.txt",
                null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject jsonObject) {
                        try {
                            JSONArray values = jsonObject.getJSONArray("sonuc");
                            for (int i = 0; i < values.length(); i++) {
                                JSONObject sonuc = values.getJSONObject(i);
                                ResimURL = sonuc.getString("url");
                                Log.v("SONUÇ", ResimURL);
                            }
                        } catch (JSONException hata) {
                            Log.v("HATA", hata.getMessage());
                        }

                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        Toast.makeText(getBaseContext(), "Unable to fetch data: " + volleyError.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                });
        request.setRetryPolicy(new DefaultRetryPolicy(20 * 1000, 1, 1.0f));
        queue.add(request);
    }

Yukarıda ki şekilde txt dosyanın içinde ki veriyi çekebilirsin ama bunu url.json dosyası olarak yapıp neslerinide json olarak alırsan java tarafında daha çok işin kolaylaşacaktır gelen json datasını for ile dönerek istediğin url yi daha kolay yakalayabilirsin.

Json örneği de aşağıda,

{
  "sonuc": [
    {
      "url": "resim1.jpg",
      "url": "resim2.jpg",
      "url": "resim3.jpg"
    }
  ]
}

1. Activity üzerinden 2.Activity üzerine veri aktarımı için;

Bundle extras = new Bundle();
extras.putString("resimUrl", "resimURL");
Intent intent = new Intent();
intent.putExtras(extras);
intent.setClass(getApplicationContext(), Second.class);
startActivity(intent);
    

2. Activity üzerinde 1.Aktivityden gelen değerleri okumak için ise;
 

 private Bundle extras = null;
 private String ResimURL = null;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second);
    init();
}

private void init() {
    extras = getIntent().getExtras(); 
    ResimUrl = extras.getString("resimURL");

  }

Umarım açıklayıcı olmuştur dostum :) 

İyi çalışmalar.